package com.zheng.upms.rpc.mapper;


import com.zheng.upms.dao.model.*;

import java.util.List;

/**
 * 用户VOMapper
 * Created by shuzheng on 2017/01/07.
 */
public interface UpmsApiMapper {

	// 根据用户id获取所拥有的权限
	List<UpmsPermission> selectUpmsPermissionByUpmsUserId(Integer upmsUserId);

	// 根据用户id获取所属的角色
	List<UpmsRole> selectUpmsRoleByUpmsUserId(Integer upmsUserId);
	/**
	 * 获取代理
	 * @param id
	 * @return
	 */
	UpmsAgent selectUpmsAgentByPrimaryKey(Integer id);

	/**
	 * 根据代理Id 获取子级代理ID 集合
	 */
	List<Integer> selectSubAgentByAgentId(Integer id);

	/**
	 * 获取代理集合
	 * @param upmsAgentExample
	 * @return
	 */
	List<UpmsAgent> selectUpmsAgentByExample(UpmsAgentExample upmsAgentExample);

	/**
	 * 根据父状态key获取字典
	 * @param code
	 * @return
	 */
	List<UpmsDict> selectUpmsDictByCode(String code);

	/**
	 * 根据用户登录名获取当前用代理
	 * @param userName
	 * @return
	 */
	Integer selectUserAgentIdByUsername(String userName);
	/**
	 * 查询去重数据字典编码
	 * @param code
	 * @return
	 */
	List<UpmsDict> selectDistinctUpmsDictCode();

	// 根据用户id获取所拥有的系统
	List<UpmsSystem> selectUpmsSystemsByUpmsUserId(Integer upmsUserId);
}